//
// Created by wxd on 2025/8/27.
//

#pragma once

#ifndef BASESHADER_H
#define BASESHADER_H

#include "IShader.h"
#include "../global/generator_id.h"
#include "../utils/RenderEngineLogger.h"

class BaseShader : public IShader {
public:
    BaseShader() {
        m_ShaderTraceId = IDGenerator::getInstance().generateString(IDPrefix::SHADER);
        Log.msg("BaseShader").param("ShaderTraceId", m_ShaderTraceId).d();
    }

    std::string getTraceId() const override;

    void setShaderName(const std::string& name);

protected:
    std::string m_ShaderTraceId;
    std::string m_ShaderName;
};



#endif //BASESHADER_H
